1. Field of Invention
A system and method consistent with the present invention is operable to discover a path maximum transfer unit (MTU) in an ad hoc network, and more particularly, to a system and method operable to discover a path MTU in an ad hoc network, wherein the path MTU can be discovered between a sending node and a receiving node.
2. Description of the Related Art
An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of any centralized administration and standard support services. The ad hoc network is not equipped with any fixed control devices for providing a connection to a backbone host or other mobile host. In the ad hoc network, each mobile host acts as a router to forward a packet from one mobile host to the other.
As shown in FIG. 1, in the ad hoc network, since a variety of terminals with a wireless communication function communicate with one another, the respective terminals have various values of MTU that are defined as the maximum size of a packet that can be transmitted from or received by each terminal.
Since the respective terminals have various MTU values in the ad hoc network as mentioned above, it is necessary to discover a path MTU that shows the maximum size of a data packet that can be transmitted or received between a sending node and a receiving node without fragmentation of the packet in order to transfer a packet by using the discovered path MTU.
Each node is a terminal present in the network, and may be implemented by a notebook computer, a personal digital assistant (PDA) or the like.
Hereinafter, a method of discovering a path MTU in an ad hoc network in the related art will be described with reference to FIGS. 2 to 4.
First, it is assumed that there are four nodes A, B, C and D in the ad hoc network. MTU is defined as the maximum size of a packet which can be transmitted from or received by each node. Nodes A, B, C and D have MTU values of 6, 5, 4 and 7, respectively as shown in FIG. 2.
Under this assumption, if node A intends to transmit a data packet to node D, node A first transmits a data packet with the size of 6 to the next node B in order to transmit the data packet to node D along a transmission path determined through a routing table, as shown in FIG. 2, because node A has the MTU value of 6 as mentioned above. However, since node B has the MTU value of 5, node B cannot receive and process the data packet transmitted from node A.
Thus, to notify node A that node B cannot receive and process the data packet due to the large size of the transmitted data packet, node B adds the MTU value of 5 to a packet-size notifying message (in this case, a “Packet Too Big” message) among messages of ICMPv6 (Internet Control Message Protocol version 6), and sends back the resultant message to node A.
From the MTU value included in the message received from node B, node A recognizes that the path MTU value should be reduced to 5 in order to send the data packet to node D, which is a receiving node, without fragmentation of the data packet.
Consistent with an exemplary embodiment, node A reduces the size of the data packet to 5 and resends the reduced data packet to node B. Node B then in turn sends the data packet to the next node C, as shown in FIG. 3. However, because the node C has the MTU value of 4, node C cannot receive and process the data packet transmitted from node B.
Therefore, to notify node A, which is the sending node, that node C cannot receive and process the data packet due to its large size, node C sends a packet-size notifying message with the MTU value of 4 contained therein to node A via node B.
From the MTU value included in the message received from node C via node B, node A recognizes that the path MTU should be reduced to 4 in order to send the data packet to node D, which is the receiving node, without fragmentation of the data packet.
Thereafter, node A reduces the size of the data packet to 4 and resends the reduced data packet to node B that in turn sends the data packet to node D via node C, as shown in FIG. 4.
As described above, when a data packet is transmitted from a sending node to a receiving node in an ad hoc network in the related art, if each node existing on a transmission path receives a data packet of a size exceeding the maximum size of data packet that the node itself can transmit or receive, the node notifies the sending node that the received data packet is too large to process, using the packet-size notifying message of the ICMPv6 messages.
Then, the sending node, which sent the data packet toward the receiving node and has received the packet-size notifying message from an intermediate node, changes its path MTU value to the MTU value contained in the packet-size notifying message and resends the data packet based on the changed path MTU value. The sending node should repeat such a process until the sending node can send the data packet without fragmentation thereof to the receiving node.
Therefore, there are problems in that data transfer to a receiving node is delayed until a sending node recognizes a correct path MTU, and consumption of wireless resources is increased due to retransmission of packet-size notifying messages and data, thereby resulting in deterioration of the performance of a network.